home *** CD-ROM | disk | FTP | other *** search
/ 3D GFX / 3D GFX.iso / amiutils / i_l / jacosub / documentation / jacosub.doc < prev    next >
Text File  |  1995-12-30  |  46KB  |  944 lines

  1.           JACOsub: video titling software for professionals
  2.                             version 2.4
  3.                    Timed Script Editor and Player
  4.              A Product from Unicorn Research Corporation
  5.  
  6.  
  7. This file contains information about running the JACOsub software.  For a
  8. general overview (installation, features, etc.), please refer to the
  9. file Overview.doc.  JScripts doc contains the complete script format
  10. specification, QuickRef.doc is a quick summary of JScripts.doc, FAQ is
  11. a list of frequently asked questions, ARexx doc contains information about
  12. ARexx communications, and Register.doc contains registration information.
  13.  
  14.  
  15. CONTENTS OF THIS DOCUMENT
  16. =========================
  17.  
  18.  1.  Running the Program
  19.  2.  The Editor Window
  20.  3.  Pull-Down Menus
  21.  4.  Notes About Playing Scripts
  22.  5.  How to Time a Script In Real Time
  23.  6.  Configuration File Format
  24.  
  25.  
  26. 1.  RUNNING THE PROGRAM
  27. =======================
  28.  
  29. Workbench
  30. ---------
  31.  
  32. Just click twice on the JACOsub icon to start the program.  Skip to the
  33. "Menu" section below.
  34.  
  35. Shell
  36. -----
  37.  
  38. The Shell command for running JACOsub is simply
  39.  
  40.    jacosub [-switches] [scriptname]
  41.  
  42. Command arguments are optional.  Scriptname is the name of the script to
  43. play.  If you specify ONLY the root name of your script (that is, with no
  44. .extension), JACOsub will look for the following 5 files:
  45.  
  46.    scriptname.js       (JACOsub script)
  47.    scriptname.tts      (TurboTitle script)
  48.    scriptname.pjs      (Phoenix Japanimation Society script)
  49.    scriptname.tim      (generic timed script [actually same as .pjs])
  50.  
  51. If more than one of these are found, the newest one will be read in.
  52. Additionally, a compiled script of the same name (with the extension .jsc)
  53. will also be loaded if it is newer than the script you specified.  JACOsub
  54. optionally saves its compiled script so that it will load up quickly in the
  55. future (it can take a few minutes to compile a long script).  The compiled
  56. script is typically over 3 times the size of the uncompiled version.
  57. Default behavior is for this automatic saving to be disabled, because you
  58. are likely to be fiddling with your script, which will require a recompile
  59. anyway.
  60.  
  61. If you DO specify one of the above extensions in your script name, then
  62. JACOsub will attempt to load that specific script, plus the compiled if it
  63. exists and is newer.
  64.  
  65. For Panimator (.pan), Subtitle (.sub), and ZeroG (.zeg) scripts, you must
  66. convert them to JACOsub format before loading them into JACOsub, using the
  67. JConvert utility.  See Overview.doc for more information.
  68.  
  69. Switches:
  70.  
  71. -config   lets you specify a configuration file.  The file name must appear
  72.           following a space after the -config switch.  If this switch is
  73.           omitted, JACOsub will look for the file JACOsub.cfg in the
  74.           current directory.
  75.  
  76. -register takes you through the registration procedure.  You will be asked
  77.           for your name and registration code.  After entering these, the
  78.           program will permanently modify itself to reflect your ownership.
  79.           Some features will be unlocked, and the script play display will
  80.           not have that little logo in the lower right corner.  See the
  81.           "Shareware Notice" and "Commercial License" sections near the end
  82.           of this document for details on obtaining a registration code.
  83.           This switch is the same as clicking twice on the "register" icon.
  84.  
  85. -trace    displays a trace of program execution during initializations.  If
  86.           JACOsub crashes when loading, try this switch, then write to the
  87.           author and describe what was displayed.
  88.  
  89. -any other switch causes a help message to be displayed.
  90.  
  91. During script compilation, JACOsub will inform you of its progress as
  92. well as any errors that it finds in your script.
  93.  
  94. Example
  95. -------
  96.  
  97. To see how it all works, run the demo script (called demo.js).  There are
  98. three ways you can do this:
  99.  
  100.    1) From JACOsub:  After starting JACOsub either from the shell or from
  101.       Workbench, press right-Amiga-O Open a script, and select demo.js from
  102.       the file requester.
  103.  
  104.    2) From a Shell:  Just make sure that demo.js, idemo.js, and JACO.bbm
  105.       are in your scripts directory, and type this command:
  106.  
  107.       run jacosub demo
  108.  
  109.    3) From Workbench:  Click ONCE on the demo.js icon.  Then, while holding
  110.       down the SHIFT key, click twice on the JACOsub icon.
  111.  
  112. Once the script is loaded, press right-Amiga-P to play it.  It will be
  113. compiled first if needed.
  114.  
  115.  
  116. 2.  THE EDITOR WINDOW
  117. =====================
  118.  
  119. The first thing you see when you run JACOsub is the editor window.  Besides
  120. the pull-down menus, there are several operations that can be done with the
  121. keyboard and the mouse:
  122.  
  123. - The Shift-Up and Shift-Down arrow keys will page the screen up and down.
  124. - The Shift-Left and Shift-Right keys will skip the cursor over words.
  125. - Clicking the mouse on the display will reposition the text cursor.
  126. - Holding down the mouse button on the top line, bottom line, left column,
  127.   or right column of the display will cause the display to scroll.
  128. - Double-clicking the mouse on a line starts a block definition.  Double-
  129.   clicking somewhere else expands the block to the new position.  Double-
  130.   clicking again starts over with a new block definition.
  131. - The function keys F1-F10 may be defined to insert often-used strings.
  132.   Set these with the "FKey macro" selection in the "Config" menu.
  133. - Press right-Amiga-T to toggle the cursor between the first line and last
  134.   line of your script.
  135. - Press right-Amiga-] to toggle the cursor between the beginning and end
  136.   of the current line.
  137. - Press right-Amiga-/ to toggle between insert and overstrike modes.
  138.  
  139.  
  140. 3.  PULL-DOWN MENUS
  141. ===================
  142.  
  143. There are five pull-down menus available in JACOsub, each with several
  144. selections.  Many selections have a keyboard shortcut; these shortcuts are
  145. displayed alongside the selections.
  146.  
  147. File -- file operations
  148. -----------------------
  149.  
  150.    New                  Remove current script from memory.
  151.  
  152.    Open                 Open a new script and load it into the editor.
  153.                         The file must be a legal script type; that is, the
  154.                         name must end in .js, .tts, .pjs, or .tim.
  155.  
  156.    Insert file          Insert a file ahead of the current line.  You can
  157.                         use this selection to load up any ASCII file that
  158.                         is not an actual script.
  159.  
  160.    Save                 Save the script using the current name.
  161.  
  162.    Save as              Save the script under another name.
  163.  
  164.    Save block           Save the current highlighted block to a file.
  165.  
  166.    Print block          Print the current highlighted block to device prt:.
  167.  
  168.    View IFF file        Preview pictures in the graphics directory.
  169.  
  170.    About                Display some information about JACOsub & free RAM.
  171.  
  172.    Quit                 Exit the program.
  173.  
  174. Edit -- editing operations
  175. --------------------------
  176.  
  177.    Block start          Mark the beginning of a block at the current line.
  178.  
  179.    Block end            Mark the end of a block at the current line.
  180.  
  181.    Clear block          Remove all block markings.
  182.  
  183.    Select all           Mark all lines in the script as a block.
  184.  
  185.    Cut block            Cut currently-marked block from the script, and
  186.                         save it in the clip buffer.
  187.  
  188.    Copy block           Copy currently marked block into clip buffer.
  189.  
  190.    Insert block         Insert clip contents into script ahead of the
  191.                         current line.
  192.  
  193.    Delete line          Delete current line under the cursor.
  194.  
  195.    Undelete line        Insert last deleted line ahead of current line.
  196.  
  197.    Jump to line         Enter a line number to jump to.
  198.  
  199.    Beg/End of line      Toggle cursor between beginning and end of line.
  200.  
  201.    Top/End of file      Toggle cursor between beginning and end of script.
  202.  
  203.    Overstrike           Toggle between insert and overstrike editing modes.
  204.  
  205. Search -- searching and replacing
  206. ---------------------------------
  207.  
  208.    Find                 Search for a string.
  209.  
  210.    Replace              Search and replace a string (singly or multiply).
  211.  
  212.    Go next find/rpl     Go to next search or replace occurrence.
  213.  
  214. Script -- playing and other script operations
  215. ---------------------------------------------
  216.  
  217.    Play script          Play the script, compiling first if needed.
  218.                         Pressing ESC during compilation returns you to the
  219.                         editor.  Prior to playing, you may adjust several
  220.                         settings: play mode (normal, running clock, or
  221.                         manual step), ramp & shift values, and begin time.
  222.  
  223.    Play block           Play only the highlighted block.
  224.  
  225.    View line            See what current line will look like during play.
  226.  
  227.    MouseMove line       Position a title with the mouse (WYSIWYG).  Other
  228.                         titles and graphics which are timed to appear on
  229.                         the screen at the same time as the selected title,
  230.                         will also be displayed for reference, if the
  231.                         selected line is inside a highlighted block.
  232.  
  233.    Text Directive       Display a dialog box allowing you to set directives
  234.                         relating to text appearance.  The editor's cursor
  235.                         must be positioned on a timed line or on a
  236.                         #DIRECTIVE command line.  This is easier than
  237.                         remembering all those directives (see JScripts.doc
  238.                         or QuickRef.doc), but you'll still need some
  239.                         knowledge of their capabilities before playing with
  240.                         this menu selection.
  241.  
  242.    Compile script       Compile the script (this is automatically done when
  243.                         you play a script, so you will rarely need this).
  244.                         You can abort long compilations by pressing ESC.
  245.  
  246.    Time overlap warn    Warn during compile if the time range for any line
  247.                         overlaps the time range for the previous line.
  248.  
  249.    Save compiled        Dump the compiled script data structures to a file.
  250.                         The file will have the extension .jsc on its name.
  251.  
  252. Timing -- operations for manipulating time events
  253. -------------------------------------------------
  254. IMPORTANT:  There are some operations where you are asked to enter numbers.
  255. In all of JACOsub's numerical handling, numbers after a decimal point DO
  256. NOT represent fractions of a second.  They represent whole time units.
  257. 12.4 and 12.004 mean the same thing: 12 seconds plus 4 time units.  The
  258. number of time units per second is determined by your #TIMERES setting in
  259. your script.  Default is 30/second if not specified.  Suppose you are using
  260. 100 units/second and want to specify 0.4 seconds.  You must specify 40
  261. UNITS.  That is .40, not .4 (.4 would be 4 units, i.e. 0.04 seconds).
  262.  
  263.    Time block           Time the lines that have timing numbers, in a
  264.                         highlighted block, or in a selected track in the
  265.                         block.  See the section "How to Time a Script"
  266.                         below for more details.
  267.  
  268.    Punch-In timing      "Plays" a pre-timed block in the timing display,
  269.                         allowing you to toggle between playing and timing
  270.                         by pressing the R key.  The block, or the selected
  271.                         track, must be timed and the start times must be
  272.                         sequentially ordered.
  273.  
  274.    Ramp block           Ramp-adjust times in a block for drift.
  275.  
  276.    Shift block          Shift all times in a block up or down.
  277.  
  278.    Time-divide block    Equalize the differences between start times in a
  279.                         block, so that all titles have the same duration.
  280.  
  281.    Auto-endtime         Intelligently adjust title durations in a block,
  282.                         depending on character length, default minimum
  283.                         duration, and next-title start time.
  284.  
  285.    Time format & resolution (submenu)
  286.       H:MM:SS.FF        Convert times in a block to H:MM:SS.FF format.
  287.       @Frame counts     Convert times in a block to @FFFFFFF format.
  288.       New counts/sec    Change time resolution & format over entire script.
  289.  
  290.    Resolve #R's & #S's  Resolve times for all #R and #S commands, and
  291.                         remove the #R and #S commands from the script.
  292.  
  293.    Insert dummy times   Insert dummy start and stop times in front of every
  294.                         untimed non-blank uncommented line in a block.
  295.  
  296.    View play ramp&shift Show the current script play ramp & shift setting.
  297.  
  298.    Equivalences         Calculate time equivalences between normal
  299.                         H:MM:SS.FF format, @NNNNNNN format, 1/60 second
  300.                         counts, and 1/50 second counts, for various time
  301.                         resolutions.  Changing any input affects all the
  302.                         others.
  303.  
  304. Config -- configuring JACOsub
  305. -----------------------------
  306. NOTE:  Selecting "Save" in any Config requester will save the entire
  307. program configuration, not just the information in that requester.  The
  308. software must be registered to save program configurations.
  309.  
  310.    General settings     Set general configuration parameters (these
  311.                         settings are listed under "General Settings" in the
  312.                         Configuration File section below.  Fonts and
  313.                         Function Keys have their own menu selections.
  314.  
  315.    FKey macros          Set function key macro strings.
  316.  
  317.    Titling Fonts        View or set currently-loaded fonts to be used for
  318.                         playing scripts.  The fonts shown are usually those
  319.                         that were initially loaded, unless they were
  320.                         overridden by your script.
  321.  
  322.    Playing / video      Set play behavior parameters (includes both the
  323.                         "Play Behavior" and "video" settings described in
  324.                         the Configuration File section below).
  325.  
  326.    Load config          Load a new configuration.
  327.  
  328.    Save config          Save the program configuration (software must be
  329.                         registered).
  330.  
  331.  
  332. 4.  NOTES ABOUT PLAYING SCRIPTS
  333. ===============================
  334.  
  335. Play modes
  336. ----------
  337.  
  338. There are three modes; normal real-time, real-time with a running clock
  339. display, and step play.
  340.  
  341.    normal:         This is the normal play mode to use when making a final
  342.                    master.
  343.  
  344.                    *  The "Loop" button appearing next to the Normal play
  345.                       selection causes your script to loop forever, which
  346.                       is useful for displaying cyclic scripts such as
  347.                       convention schedules.  At the end of each pass, there
  348.                       will be a short delay while video buffers are
  349.                       refilled before the script begins anew.
  350.  
  351.                    *  Selecting "Beep" causes each time event to be
  352.                       signaled by a short beep during play.  This gives you
  353.                       an audio cue to indicate script timing accuracy.
  354.  
  355.    running clock:  This mode puts a small screen in front of the video
  356.                    title display, showing a digital clock plus ramp and
  357.                    shift information.  You can drag the clock up and down.
  358.                    JACOsub will raise all bottom-positioned text a little
  359.                    bit so that the clock won't cover up too much.  If it is
  360.                    covering too much for your taste, you can temporarily
  361.                    raise this text by inserting a command like #D VB32 in
  362.                    your script (see "Compiler Commands" in the file
  363.                    JScripts.doc).
  364.  
  365.                    The clock display may appear to run erratically at
  366.                    times.  This happens when JACOsub is too busy generating
  367.                    images in background video buffers and cannot update the
  368.                    clock display as frequently.  Do not worry; internal
  369.                    timing is not affected.  The clock display is mainly for
  370.                    using with a blank script so you can record a clock on
  371.                    your video for manual (that is, highly accurate) timing.
  372.  
  373.                    The "Beep" selection works in this play mode also,
  374.                    although the "Loop" selection works only in normal play
  375.                    mode.
  376.  
  377.    step play:      This mode allows you to step manually through your
  378.                    script to see how each screen will appear during real-
  379.                    time play.  This play mode builds its imagery on the
  380.                    visible display, so you can see how each screen gets
  381.                    generated.  The spacebar steps forward 1 screen, and
  382.                    backspace steps backward up to 3, 4, or5 screens,
  383.                    depending on how many video buffers exist.
  384.  
  385.                    *  The "Pre-load buffer" button causes imagery to be
  386.                       pre-loaded one buffer ahead of the current view.
  387.                       This is useful for live "on-air" environments where
  388.                       manual control is desired.  Normally, pre-loading
  389.                       is turned off for step play.  With no pre-loading,
  390.                       the buffer's time event is displayed in the top left
  391.                       corner, and the view is drawn while you watch.
  392.  
  393. On-the-fly time shift adjustments
  394. ---------------------------------
  395.  
  396. You may adjust the absolute time shift during play by pressing the + key
  397. to increase the times (i.e. delay them) and - to decrease the times.  The
  398. amount of shift is changed by the ramp&shift increment you set up prior
  399. to playing the script.  After your script is finished playing, you may
  400. select the "View play ramp&shift" menu to view the settings.
  401.  
  402. On-the-fly ramp drift adjustments
  403. ---------------------------------
  404.  
  405. During play, you can make ramp time adjustments on the fly.  Suppose you
  406. have the ramp&shift increment set to 0.10 sec.  Pressing the down-arrow
  407. key will decrease the ramp time adjustment by 0.1 seconds, and pressing the
  408. up-arrow key will increase it by 0.1 seconds.  THE CHANGE WILL OCCUR AT THE
  409. TIME-POINT WHERE YOU CHANGED IT.  For example, if the script play is 20%
  410. complete (1/5 done) and you pressed the up-arrow key, time events would be
  411. increased by 0.1 seconds AT THAT TIME -- this would increase the ENDING
  412. ramp time by five times that amount (i.e. 0.5 seconds) because the play is
  413. only 1/5 complete at the time you made the change.  The running clock
  414. display will show you the ENDING ramp time.  After your script finishes
  415. playing, you may select "View play ramp&shift" to view the settings.
  416.  
  417. Beware of adjusting ramp time near the beginning of the script!  Doing this
  418. too early in the play will result in a drastically huge change at the end
  419. (for example, if the playing is 1/100 complete, a 0.1 sec change in ramp
  420. time will result in a 10-second change near the end!).  Don't be
  421. disconcerted by the Ramp display on the running clock; as stated before, it
  422. shows the ENDING ramp adjustment.  On-the-fly ramp adjusting is *wonderful*
  423. when you get used to it.  Usually you will only have to make two or three
  424. adjustments during the entire script play, whereas straight time shift
  425. adjustments have to be done many times at regular intervals to keep the
  426. script in sync with the video.
  427.  
  428. >> If you find that you need more than 10 seconds of ramp adjustment per 30
  429. minutes of script, then your genlock is having an adverse affect on your
  430. system clock.  GET THIS FIXED.  Do not use JACOsub to "fix" the problem
  431. with a bigger ramp adjustment; you are only CURING THE SYMPTOM of a serious
  432. problem, not the cause!  Besides, if a ramp adjustment gets too large, an
  433. internal math overflow can occur, resulting in a sudden time-jump.  If you
  434. need large ramps, get some technical support from your genlock vendor. <<
  435.  
  436.  
  437. 5.  HOW TO TIME A SCRIPT IN REAL TIME
  438. =====================================
  439.  
  440. The slowest but most accurate method of timing is to do it manually:
  441. step-frame your video, observing either a frame counter or a running clock
  442. pre-recorded on the video, and manually entering each time event into the
  443. script.  This is how AnimEigo times their scripts.
  444.  
  445. Real-time timing is quicker but often results in more errors.  Either way,
  446. timing a script accurately is a tedious chore.
  447.  
  448. JACOsub attempts to make this process easy and flexible in real time
  449. without sacrificing accuracy.  Many errors occur from trying to time an
  450. entire script all at once.  These errors are caused by operator fatigue,
  451. distractions, and short attention span.  Fixing these errors is often a
  452. painfully slow process.
  453.  
  454. JACOsub allows you to time your script in small sections.  This process
  455. gives you the ability to correct small mistakes easily, and helps you keep
  456. your mind alert.  Other features to make timing easier include on-the-fly
  457. mistake correction, and automatic title lowering so that you need only be
  458. concerned with raising titles, and a "punch-in" timing mode that allows you
  459. to make real-time adjustments to a block that has already been timed.
  460.  
  461. To time a section of your script, first highlight it as a block in the
  462. editor.  Before timing, each title to be timed MUST have a start and stop
  463. time; "dummy" values will work.  If some of the highlighted titles don't
  464. already have start and stop times, the program will tell you and give you
  465. the option of inserting them.  Or, you can select "Insert dummy times" from
  466. the script menu, and JACOsub will analyze the highlighted block and insert
  467. start and stop times to all the lines that require them.
  468.  
  469. Check to be sure that the correct lines have start and stop times, and then
  470. select "Time block" from the Timing menu.  You will see a dialog box with
  471. these timing parameters:
  472.  
  473.    Start at:  This is start time of the first line in the block.  The
  474.               default value is whatever the current start time is for
  475.               that line.  This parameter is useful for "stitching" your
  476.               separately-timed sections together -- just make sure that
  477.               the first line of your next section is the last line of
  478.               the current section.
  479.  
  480.    Minimum:   Minimum duration of each title in milliseconds.  All titles
  481.               will have a duration of at least this amount unless
  482.               superceeded by a new title.  2 seconds is a good value.
  483.  
  484.    Plus:      Additional duration to add to the minimum, in milliseconds
  485.               per character of title length.  Longer titles take longer to
  486.               read.  33 ms/char is a good number to use; experiment until
  487.               you find a satisfying personal preference.
  488.  
  489.    Gap ____ msec if < ____ % diff:  Number of milliseconds of blank space
  490.               to insert between successive titles when raised with a forced
  491.               gap, if the title lengths differ by less than the % change.
  492.               Normally, raising a title before the previous one is lowered
  493.               causes the previous title's end time to be the same as the
  494.               new title's start time.  This saves video buffers during
  495.               script play, and allows for clean transitions between
  496.               titles.  However, if two successive titles look similar
  497.               (e.g. same number of lines of same length), the viewer may
  498.               not notice the title has changed while watching the video.
  499.               Forcing a gap (see below) causes a brief blank interval to
  500.               flash onto the screen, providing a more noticeably break
  501.               between titles.
  502.  
  503.    Output resolution:  Number of units/second to use when modifying the
  504.               times in the script.  The default will be whatever is current
  505.               in your script.
  506.  
  507.    Track:     If you have used the T directive to designate any of the
  508.               highlighted titles as separate timing tracks, this cycle
  509.               gadget will appear, allowing you to select, for timing, one
  510.               or all of the tracks present in the highlighted block.
  511.  
  512. After selecting OK, the timing display will appear.  The top half of the
  513. display contains mouse and key instructions.  This top half is mostly
  514. transparent to video, so you can view your video through a genlock while
  515. timing your script.  The bottom half contains three fields:
  516.  
  517.    Used titles list:        The last three titles timed to completion.
  518.    Currently raised title:  The current title being timed.
  519.    Waiting titles list:     The next four titles waiting to be timed.
  520.  
  521. Initially only the Waiting list contains anything.  Timing will begin when
  522. you raise the first title.  The operations available to you are:
  523.  
  524. Raise next title (SPACEBAR or left mouse button):
  525.    Raise the next title in the Waiting list.  If another title is currently
  526.    raised, it will be lowered and placed in the Used list when the next
  527.    title is raised.
  528.  
  529. Raise next title with a forced gap (TAB or double-click left mouse button):
  530.    Same as above, with the difference that if a title is currently raised,
  531.    its end time will be shortened slightly to create a gap between it and
  532.    the next raised title, provided the two title lengths are sufficiently
  533.    different as specified in the timing set-up dialog box.
  534.  
  535. Lower current title (RETURN key or right mouse button):
  536.    Lower the currently-raised title if one exists.  You should never need to
  537.    do this if you have properly set your auto-duration parameters.
  538.  
  539. Back up (BACKSPACE):
  540.    If a title is currently raised, it is put back into the Waiting list.
  541.    If no title is currently raised, the last Used one is put back into the
  542.    Waiting list.  You cannot back up if performing punch-in timing.
  543.  
  544. Skip next Waiting title (DEL key):
  545.    The next Waiting title is put into the Used list.  If a title is already
  546.    raised, it will be placed into the Used list first, along with the next
  547.    Waiting title.  Skipped titles will not have their times modified in the
  548.    script.
  549.  
  550. Abort operation (ESC key):
  551.    Abort the timing and return to the editor.  Script times will not be
  552.    modified.  Only by finishing the whole section will any times be
  553.    modified.
  554.  
  555. Toggle instructions, Used / Waiting (I, U, W keys):
  556.    Pressing I causes the instructions in the top half of the display to
  557.    disappear.  Press I again to make them reappear.  Pressing U or W
  558.    changes the size of the Used or Waiting titles lists, respectively.
  559.    They will cycle between 1 and 5 lines in height.  The size of these
  560.    fields will be saved for the future if you save the program
  561.    configuration.
  562.  
  563. After timing the script block, you may move on to the next section.  Simply
  564. make sure that the last title you timed in the previous block is the first
  565. title to be timed in the next block.  The start time of the new block will
  566. default to the start time of the first line in the block.  In this way, the
  567. blocks are "stitched" together.
  568.  
  569.  
  570. 6.  CONFIGURATION FILE FORMAT
  571. =============================
  572.  
  573. You can skip this section.  JACOsub's configuration file is transparent to
  574. you -- you can modify the configuration from any of the Config menu
  575. selections, and the program saves its configuration in a file called
  576. JACOsub.cfg whenever you select "Save Config" from the Config menu
  577. (provided the program has been shareware-registered).  JACOsub will set its
  578. own defaults for parameters that are omitted in JACOsub.cfg (and also if
  579. the file doesn't exist).  The settings in the file are documented here
  580. just for the sake of completeness.
  581.  
  582. When running JACOsub from a Shell, you can specify which config file you
  583. want using the -config commandline switch, or you can run JACOsub from
  584. whichever directory that contains the desired config file.
  585.  
  586. Each line in the JACOsub.cfg file may be: a blank line, a comment (must
  587. begin with a # character), or a setting.  Settings have the following form:
  588.  
  589.    SETTING <argument1> <argument2> ...
  590.  
  591. Here are the settings and their possible arguments.  They may be either
  592. uppercase or lowercase.  The default settings indicated are what you get if
  593. you omit a particular setting from your config file.  Parameters inside
  594. brackets [] are optional; those inside bra-kets <> are mandatory.
  595.  
  596. General Settings
  597. ----------------
  598.  
  599. AUTOENDTIME <overall (msec)> <add'l (msec/char)> <gap (msec)> <threshhold%>
  600.    [changed in AutoEndtime or Time Script menu selection]
  601.    When timing a script or performing the Automatic End Time adjustment
  602.    feature, JACOsub needs to know what default time duration you want for
  603.    your titles.  <overall> is the minimum duration in milliseconds.  Titles
  604.    appear on the screen for at least this length of time (this duration is
  605.    shortened during timing if you raise another title before the current
  606.    title has expired).  <add'l> is the additional amount of time to display
  607.    the title, expressed in milliseconds per character.  The character count
  608.    of the title does not include directives, embedded comments, or embedded
  609.    escape codes - only the title text itself.  <gap> is the amount of blank
  610.    space to force between titles when a new title is raised before the
  611.    calculated end for the previous title.  The gap will appear if the
  612.    percentage length difference between the two titles is less than
  613.    <threshhold%>, otherwise the previous title will end when the new title
  614.    begins.  Setting <threshhold%> to zero disables the forced gap.
  615.    Default:
  616.    AUTOENDTIME 2000 33 50 20%
  617.  
  618. DIRECTIVE <directive string>
  619.    [changed in the General Settings menu selection]
  620.    Sets the initial global D directive for all scripts.  Don't be scared by
  621.    the huge default string shown below; yours won't ever look like this.
  622.    See the "Directive" section in the format specification documentation
  623.    JScripts.doc for complete understanding.  Anything you set here
  624.    represents a *change* to the default string below, not a replacement.
  625.    Default:
  626.    DIRECTIVE HL1HR99VH100VT16VB16JCJBFFDF0FO0FSSE0SNCF3CB0CP0CS0:0:2W1
  627.  
  628. DURATIONWARN <number of seconds>
  629.    [changed in the General Settings menu selection]
  630.    If you inadvertently set a title's start and stop times so that its
  631.    duration is too long, you might want JACOsub to warn you about it when
  632.    your script is compiled.  This problem sometimes occurs when compiling
  633.    TurboTitle scripts, where some "null" lines can have a start time of 0
  634.    and a stop time of 9 hours!  This setting lets you set the minimum title
  635.    duration that will trigger a warning during script compilation.
  636.    Default:
  637.    DURATIONWARN 120
  638.  
  639. EDITORWINDOW <LeftEdge> <TopEdge> <Width> <Height>
  640.    [changed with the editor window resizing gadget]
  641.    This determines the initial position and size height of the editor
  642.    window.  Minimum window size is 420x150.  To change this setting while
  643.    using JACOsub, simply use the mouse to change the size of the editor
  644.    window and save the program configuration.
  645.    Default:
  646.    EDITORWINDOW 0 2 640 198
  647.  
  648. FKEY <key number> <macro string>
  649.    [changed in the Fkey macro menu selection]
  650.    You may set any of the 10 function keys to send a string (up to 80
  651.    characters) to the editor.  This is useful to keep from typing commonly
  652.    used strings over and over again.  <key number> should range from 1 to
  653.    10, and you should not have a comment behind the macro string or it will
  654.    be included as part of the string.
  655.    Default:  FKEY 10 9:00:00.00 9:00:00.0 D
  656.              (This is useful for inserting dummy times in front of lines)
  657.              Function keys 1 - 9 are not set.
  658.  
  659. FONT <n> <fontname.font> <size> [CLEAN or QUICK&DIRTY] [Y/X]
  660.    [changed in the Title Fonts menu selection or changed by your script]
  661.    Sets font <n> to <fontname.font> which is <size> pixels high.  <n> must
  662.    range from 0 to 9.  The font should be a proportional-spaced color font,
  663.    although you can use any font.  You will normally NEVER need the last
  664.    argument.  The CLEAN argument (default for color fonts with overlapping
  665.    characters if omitted) tells JACOsub to display this font "cleanly,"
  666.    that is, to avoid an artifact of the Amiga's text rendering operation
  667.    that results in color interference problems when rendering fonts with
  668.    overlapped characters (such as the JACOsub 36 and 32 fonts).  With
  669.    CLEAN, only color 3 text will be rendered quickly; other colors will be
  670.    rendered one character at a time instead of a line at a time.
  671.    QUICK&DIRTY forces the font to render quickly, with the resultant color
  672.    interference problems.  QUICK&DIRTY is the default for mono-color fonts
  673.    and color fonts without overlapping characters.  The Y/X parameter is
  674.    the font's initial aspect ratio (AmigaDOS 2.0+), and defaults to
  675.    100/100.  Once an aspect ratio is set for a certain font and size, it
  676.    cannot be changed later.
  677.    Defaults:
  678.    FONT 0   JACOsub.font 36    (primary font)
  679.    FONT 1   JACOsub.font 32    (secondary font)
  680.    FONT 2   JACOsub.font 32
  681.    FONT 3   JACOsub.font 32
  682.    FONT 4   JACOsub.font 32    (Note: fonts 4 through 9 are
  683.    FONT 5   JACOsub.font 32    not available unless the software
  684.    FONT 6   JACOsub.font 32    has been registered.)
  685.    FONT 7   JACOsub.font 32
  686.    FONT 8   JACOsub.font 32
  687.    FONT 9   JACOsub.font 32
  688.  
  689.    Important point about fonts:
  690.    Color fonts should be designed so that bitplane 0 (color 1) contains the
  691.    font face imagery, while bitplane 1 (color 2) contains the outline and
  692.    dropshadow imagery.  JACOsub assumes all color fonts are designed this
  693.    way.  This design is necessary for face color control and rendering
  694.    efficiency.  The TurboTitle font was not designed this way, so it will
  695.    look all wrong unless you use a font editor to reassign the bitplanes.
  696.  
  697. GENLOCK <NONE or SUPERGEN or GVP or TOASTER>
  698.    [changed in the General Settings menu selection]
  699.    Specifies how to interpret genlock fader control commands in a script
  700.    (see the "Directive" section in the format specification documentation
  701.    JScripts.doc).  NONE will cause such commands to be ignored.  Otherwise
  702.    JACOsub will attempt to control the type of genlock specified.
  703.    Currently only the Digital Creations SuperGen is supported, using
  704.    supergen.library version 2.0 or higher.
  705.    GVP genlocks can cause crashes when a program tries to load an IFF file
  706.    without using GVP's own proprietary file loader.  Setting GENLOCK to GVP
  707.    will cause JACOsub to look for a script called gvpfade.jsrx for genlock
  708.    fading (see the file ARexx.doc for details), and it will also cause a
  709.    compile warning to be issued if your script tries to load an IFF file.
  710.    The script will still compile properly, however.
  711.    TOASTER specifies the NewTek video toaster, which like the GVP must be
  712.    controlled through ARexx, and requires a script called toasterfade.jsrx.
  713.    Default:
  714.    GENLOCK NONE
  715.  
  716. GRAPHICPATH <path for graphics files>
  717.    [changed in the General Settings menu selection]
  718.    Tells JACOsub the directory where it should expect to find IFF graphics.
  719.    Default:  the "scripts" directory under the current directory.
  720.    GRAPHICPATH scripts
  721.  
  722. MAKEBACKUP <YES or NO>
  723.    [changed in the General Settings menu selection]
  724.    If set to YES, JACOsub will copy your original script on your disk to
  725.    the T: directory before saving an updated version.  Under normal
  726.    AmigaDOS configurations, the T: directory is on the ramdisk.
  727.    Default:
  728.    MAKEBACKUP NO
  729.  
  730. SAVECOMPILED <YES or NO>
  731.    [changed in the General Settings menu selection]
  732.    Tells JACOsub whether or not to save compiled versions of your scripts
  733.    automatically.  Compiled scripts load up quicker than raw ASCII scripts,
  734.    but they consume more disk space.  You are not likely to need this
  735.    setting.
  736.    Default:
  737.    SAVECOMPILED NO
  738.  
  739. SCRIPTPATH <script path>
  740.    [changed in the General Settings menu selection]
  741.    Tells JACOsub the directory where it should expect to find scripts.
  742.    Default:  the "scripts" directory under the current directory.
  743.    SCRIPTPATH scripts
  744.  
  745. TIMELISTLEN <used list length> <waiting list length>
  746.    [changed on the timing screen]
  747.    These variables control the length, in number of lines, of the "used"
  748.    list of titles and the "waiting" list of titles on the timing screen.
  749.    Minimum value is 1, maximum 5.
  750.    Default:
  751.    TIMELISTLEN 3 4
  752.  
  753. Play Behavior Settings
  754. ----------------------
  755.  
  756. ANTIALIASCOLOR <color number>
  757.    [changed in the Playing / Video menu selection]
  758.    This setting is relevant only when JACOsub generates its own outlines
  759.    around mono-color fonts (which is not the case with the JACOsub
  760.    distribution fonts).  The color you specify here will be used inside the
  761.    font outline, 1 pixel to the left and right of the font image.  This
  762.    color should be neutral gray or a half-intensity face color, which you
  763.    can set with the PALETTE  setting below.  The default is color 2, which
  764.    should *always* be black.  Because outlines are also black, a setting of
  765.    2 results in no anti-aliasing when font outlines are generated (it's
  766.    also faster).
  767.    Default:
  768.    ANTIALIASCOLOR 2
  769.  
  770. CLOCKHEIGHT <NORMAL or TALL>
  771.    [changed in the Playing / Video menu selection]
  772.    The running clock display can be made twice as tall as normal.  This
  773.    setting is useful if you have trouble reading the clock display during
  774.    frame-stepping in your video tape.
  775.    Default:
  776.    CLOCKHEIGHT NORMAL
  777.  
  778. RAMPSHIFTINCR <milliseconds>
  779.    [changed prior to playing a script]
  780.    This setting determines the initial on-the-fly ramp and shift adjustment
  781.    increment.  Ramp and shift corrections made during script play will be
  782.    changed by this amount.  You may change this increment from the program
  783.    when you try to play a script.
  784.    Default:
  785.    RAMPSHIFTINCR 100     # 100 milliseconds = 1/10 second
  786.  
  787. SHADEPATTERN <line1> <line2> <line3> <line4>
  788.    [changed in the Playing / Video menu selection]
  789.    Sets the shade pattern for the CS directive (see the "Directive" section
  790.    in JScripts.doc).  The pattern is bit mask 16 pixels wide and 4
  791.    scanlines high, specified by line1-line4, which must be 16-bit
  792.    hexadecimal numbers (these numbers represent each scan line for the
  793.    mask).  The default is two solid horizontal scanlines followed by two
  794.    blank scanlines, because this seems most reliable for all genlocks.
  795.    Some genlocks will grossly distort the video image if you try to specify
  796.    a complex mask like the default which turns on every other dot.  For
  797.    other genlocks like the SuperGen or GVP, this mask results in a beautiful
  798.    transparent video darkening effect.  The hexadecimal paramters may be
  799.    uppercase or lowercase.
  800.    Default (vertical lines every other pixel):
  801.    SHADEPATTERN AAAA AAAA AAAA AAAA
  802.  
  803. TIMEFONT <fontname.font> <size>
  804.    [changed in the Playing / Video menu selection]
  805.    Sets the time-font.  This font is used for the running clock display.
  806.    It is also the default font used while timing scripts.  This font should
  807.    be a fixed-width, mono-color font, sufficiently large to be legible when
  808.    recorded on your videotape.  MAXIMUM <size> is 24.  If the specified
  809.    font is not found, the Topaz 9 ROM font will be used.
  810.    Default:
  811.    TIMEFONT JACOsub.font 18
  812.  
  813. USEBLITTER <YES or NO>
  814.    [changed in the Playing / Video menu selection]
  815.    This setting is difficult to explain.
  816.  
  817.    JACOsub generates a new video frame for each time event specified in a
  818.    script.  If the time ranges for different titles overlap, then some
  819.    titles must exist on more than one frame in order to endure through the
  820.    overlapping time events from other titles.  Generating the same text
  821.    again and again on different frames might slow down the program, so
  822.    JACOsub uses the Amiga blitter to duplicate text strings between video
  823.    frames.
  824.  
  825.    This advantage in speed also has a disadvantage:  If the text was
  826.    initially generated over other imagery already on the screen (such as an
  827.    IFF brush or a shaded rectangle background), a portion of this imagery
  828.    will get blitted into the other frames along with the text.  But suppose
  829.    you did not want this imagery to survive into subsequent frames?  You
  830.    can disable blitter operations, forcing all text to be generated
  831.    into each frame (instead of copying using the blitter), by specifying NO
  832.    for this parameter.  Regardless of this setting, the blitter is NOT used
  833.    to copy text if IFF graphic backgrounds change between subsequent frames.
  834.    Default:
  835.    USEBLITTER YES
  836.  
  837. Video Display Settings
  838. ----------------------
  839.  
  840. BITPLANES <number of bitplanes>
  841.    [changed in the Playing / Video menu selection]
  842.    Sets number of bitplanes per video buffer.  2 to the power of this
  843.    number is the number of colors available.  Maximum bitplanes is 2 if
  844.    SUPERHIRES is set.  You shouldn't need to set this greater than 4 (for
  845.    16 colors).
  846.    Default:
  847.    BITPLANES 2        # 2 bitplanes = 4 colors
  848.  
  849. DISPLAYSIZE <width> <height>
  850.    [changed in the Playing / Video menu selection]
  851.    Sets the size of the playing display.  <width> should be a multiple of
  852.    16, greater than or equal to 640.  <height> should be greater than or
  853.    equal to 400.  If <width> is less than 800 and HRES (below) is set to
  854.    SUPERHIRES, then <width> will be doubled internally.  If <width> is
  855.    greater than 800 and HRES is set to HIRES, then <width> will be halved.
  856.    THE WIDTH MUST BE A MULTIPLE OF 32.  If it is not, JACOsub will round it
  857.    to the nearest multiple.  Strange behavior (font skewing, random pixels)
  858.    can result if the display width is not a multiple of 32.
  859.    Default:
  860.    DISPLAYSIZE 640 400
  861.  
  862. HRES <HIRES or SUPERHIRES>
  863.    [changed in the Playing / Video menu selection]
  864.    Sets display horizontal resolution mode.  SUPERHIRES will work only if
  865.    your Amiga has the complete ECS or AGA chipsets, and your AmigaDOS
  866.    version is 2.0 or better.  Otherwise, SUPERHIRES will be interpreted
  867.    as HIRES, which is the default horizontal resolution for Workbench.
  868.    Amigas with the ECS chipset are limited to 4 colors in superhires mode.
  869.    Default:
  870.    HRES HIRES
  871.  
  872. PALETTE <n> <red> <green> <blue>
  873.    [changed in the Playing / Video menu selection]
  874.    Sets the red, green, and blue CRT beam intensities for color <n>.  <n>
  875.    may range from 0 to 15 (although the maximum used will be determined by
  876.    the BITPLANES setting).  <red>, <green>, and <blue> may range from 0
  877.    (off) to 15 (maximum) although for NTSC friendliness you should probably
  878.    not go beyond 13 or 14.  This initial palette may be changed by your
  879.    script (see the #P command), and it is active only when a script is
  880.    playing.  You cannot change the palette for the editor window.
  881.    Defaults (please give us feeback if you have better settings!):
  882.    PALETTE 0   9 10 11       # background (transparent when genlocked)
  883.    PALETTE 1   1 14  8       # ALTERNATE font face color
  884.    PALETTE 2   0  0  0       # font outline/shadow color (SHOULD BE DARK)
  885.    PALETTE 3  13 14  5       # PRIMARY font face color
  886.    PALETTE 4  14  0  0       # red - remaining settings are arbitrary
  887.    PALETTE 5  14 10  5       # orange
  888.    PALETTE 6  14  8 14       # light magenta / hot pink
  889.    PALETTE 7   0 14 14       # cyan
  890.    PALETTE 8  11  7  3       # brown
  891.    PALETTE 9  14 11  9       # light beige
  892.    PALETTE 10  5 10 14       # deep sky blue
  893.    PALETTE 11  3  3  3       # gray shades...
  894.    PALETTE 12  6  6  6
  895.    PALETTE 13  9  9  9
  896.    PALETTE 14 12 12 12
  897.    PALETTE 15 14 14 14
  898.  
  899. TIMERTYPE <EVENT or POLLED or EXTERNAL>
  900.    [changed in the Playing / Video menu selection]
  901.    Sets the timer type for playing or timing scripts.  EVENT is the normal
  902.    event-driven interal timer, efficient and multitasking-friendly.  POLLED
  903.    causes the internal timer to be polled continuously for time updates
  904.    instead of having the program go to sleep and wait for the next time
  905.    event -- the running clock display, for example, forces the program to
  906.    switch over to POLLED timing.  You can force it permanently by setting
  907.    POLLED.  EXTERNAL is an external timer, like a timecode reader.  It's
  908.    not yet implemented, and behaves the same as EVENT for now.
  909.    When timing scripts, the timer is always polled, whether internal or
  910.    external.
  911.    Default:
  912.    TIMERTYPE EVENT
  913.  
  914. TOPLEFT <x offset> <y offset>
  915.    [changed immediately prior to playing a script]
  916.    If your play screen is centered on your RGB monitor, it will likely NOT
  917.    be centered when you record the video signal on a VCR or view this
  918.    signal on a television screen.  The TOPLEFT setting determines where the
  919.    top left corner of the play screen will be.  YOU SHOULD NOT SET THIS
  920.    YOURSELF in JACOsub.cfg.  JACOsub will let you center the screen before
  921.    playing your script (AmigaDOS 2.0+ only), and you can save the settings
  922.    later by selecting "Save config" from the Config menu.
  923.  
  924.    This setting works only under AmigaDOS 2.0 and above.  Under 1.3, you
  925.    must first center your Workbench screen on your television using
  926.    Preferences, before running JACOsub.
  927.    Default:
  928.    The top left corner of your Workbench screen is used for this setting.
  929.  
  930. VIDEOBUFFERS <number of buffers>
  931.    [changed in the Playing / Video menu selection]
  932.    Sets the number of video buffers to use for building displays.  Minimum
  933.    number allowed is 3, maximum is 5.  Set to 3 if you are low on CHIP RAM,
  934.    of if your script doesn't do time-consuming complicated things (such as
  935.    generate outlines around a screenful of text with a graphics backdrop).
  936.    Increase the number of buffers ONLY if you notice that JACOsub is
  937.    generating imagery on the visible screen (all image generation should
  938.    take place in the background where you cannot see it).
  939.    Default:
  940.    VIDEOBUFFERS 4
  941.  
  942.  
  943. End of JACOsub.doc.  See JScripts.doc for details about scripts.
  944.